ND 3.0 is hot!


WEB HELP
For the latest
NetDynamics
information,
please visit
our web site.
Go there

EMAIL US
You can also
send us email,
and we will
be happy to
answer your
questions.
Info Sales
Support

PRODUCT
Learn about
our web/data
development
tools indepth.
Overview
Studio tour
Server tour
Whitepaper
Awards

SUPPORT
Our web has
tech support,
demos, FAQs,
guides, forums,
training, and
consulting.
Support web
Seminars
Workshops

COMPANY
NetDynamics
is a software
company that
delivers an
object-oriented
RAD tool for
building Web
applications
Contacts
History

NetDynamics Logo Powerful Web/Databse Development Tools for Unix, NT, 95.

White Paper: Delivering Solutions for the Web-centric Enterprise

Introduction

The Web as an Application Platform

  • Web/Data vs. Client/Server: Scalable application Deployment
  • Lessons from Client/Server Tools: Rapid Application Development
  • The Web: New Technical Challenges

Architectural Considerations

  • Two-Tier Application
  • Three-Tier Application
  • Application Servers for the Web
  • Building the Ideal Web/Data Application

Enterprise Considerations

  • Language Consideration
  • Delivering Web-Centric Solutions with NetDynamics

The NetDynamics Studio Development Environment

  • Rapid Application Development
  • Tight Language Integration with Java
  • Open Portable Integration
  • Security
  • Sessions and State Management
  • Transaction Management

The NetDynamics Application Server

  • Architecture Overview
  • Optimized Data Access
  • Scalability and Automatic Load Balancing
  • Avaliability
  • WebExtend

Summary


Introduction

The World Wide Web is a compelling platform for the delivery and dissemination of data-driven, interactive enterprise applications. The Web's ubiquity provides instant and global application availability to both users and companies. Because the Web is architected to be platform independent, it significantly lowers deployment and training costs. Hoping to reap these benefits, organizations are building new applications or retrofitting existing client/server implementations to take full advantage of the World Wide Web.

Until recently, there were few companies building commercial Web/data applications because of the lack of development tools. Applications had to be hand-coded from scratch in PERL or C++. As tools that lower the cost of application development and maintenance mature, organizations will increasingly turn to the Web as the platform for commercial applications. Corporations looking to leverage the Web as a strategic platform for implementing innovative business solutions - in effect becoming Web-centric enterprises - need to examine the issues surrounding the development of Web applications.

This white paper explores the technical requirements of the Web/data application environment and discusses the architectural and programming language tradeoffs. This paper also introduces NetDynamics, a Web/database development environment for building enterprise-scale applications. We will also see how the critical benefits of NetDynamics - from ease-of-use to high performance scalability - deliver the right solutions for the Web-centric enterprise.


The Web as an Application Platform

The Web platform can deliver innovative solutions for both inter- and intra-company business issues. As an Intranet platform, the Web reduces deployment costs and overcomes performance and scalability limitations of client/server applications. As an Internet platform, the Web enables companies to provide new services and reach new customers through globally accessible applications. Such benefits were not previously available with host-based or traditional client/server applications.

Web/Data vs. Client/Server: Scalable Application Deployment

The broad reach and browser-based simplicity of the Web eliminates the time and cost associated with application deployment. In this environment, deployment is instantaneous because the application resides on the server rather than on the client. From the server, the application can be accessed from anywhere in the world. For MIS managers, this server-based implementation eliminates much of the headache involved in maintenance upgrades and administration involved in managing multiple platforms across multiple offices. For business managers, global access of server-side applications provides a compelling new channel for reaching new customers with products and services.

The implementation of a Web-based solution introduces a natural three-tier architecture that provides a foundation for scalability. Current LAN-based client/server applications are typically limited to a small number of simultaneous users. These applications have 'fat' client software which inefficiently process both screen displays and business logic. Furthermore, traditional client/server users are logged onto the database from the start to the finish of a session. Organizations with these implementations hit the client/server 'wall' when the software demands of the application exceed the capability of the client, or when the number of database users has increased to a point where the application can no longer scale. The Web in contrast, due to its 'thin' client architecture, supports a large number of simultaneous clients that access a server-side application. The client browser performs the display of information while all processing intensive business logic is handled on the server. Users on these newly termed Web/data applications are also connected to the data source for only the duration of each transaction rather than for the entire session. Optimizations in the Web/data application architecture makes database connections readily available to Web application users without incurring the overhead of a persistent and dedicated data source connection.

Lessons from Client/Server Tools: RAD

In the early phase of the Web, applications were developed from scratch in either C/C++ or PERL due to the lack of mature tools for building commercial applications. This approach is obviously time intensive and costly, and even more so in maintenance of applications once they are built. As Web/data tools evolve, solutions vendors are quickly adopting features seen in client/server tools. This adaptation of current technology for Web/data development thus provides customers with rapid Web application development environments that deliver fast deployment without sacrificing flexibility in development. In the client/server world, rapid application development (RAD) using a highly visual tool significantly cuts time in application development and subsequent code maintenance. Many successful RAD client/server tools such as PowerBuilder and Visual Basic automate the process of client/server application development by providing wizards that generate application objects. These 'assistants' eliminate the bulk of programming from commercial applications by determining the application needs and automatically generating code.

Successful client/server tools have also been tightly integrated with underlying languages for business logic and application extensibility. The language integration choice is indispensible if a developer is to reap the benefits of rapid application development without sacrificing flexibility. For example, client/server tools that are based on languages with underlying object oriented class libraries provide a mechanism for reusing and extending the capabilities of the underlying language. As projects grow in scale and depth, the extensibility and maturity of the language becomes critical to the project's success. In short, the choice of programming languages dictates the success of the Web/data application.

The Web: New Technical Challenges

The Web, while providing significant benefits, introduces new technical challenges with respect to scalability, management of session and state, security and change.

  • Scalability: Web applications can face unpredictable and potentially enormously peak loads. Large user loads require a high performance server architecture that is extremely scalable.

  • State Maintenance: The Web is a stateless environment in which the client and server are loosely coupled. Applications must keep state information from one page to another if they are to avoid requiring users to re-enter information such as use r

    name and password from page to page.

  • Security: Security becomes paramount when companies make internal databases accessible to external browser-based users. User authentication and secure data transmissions are made more challenging in the Web environment because of the large numb er

    of potentially anonymous users.

  • Change: Technology implementations on the Web are changing rapidly and standards are still evolving.

In the past, developers addressed some of these issues through external mechanisms such as client-side 'cookies' for managing state. More recently, development tools have begun to integrate built-in support for solving these issues within a development en

vironment.


Architectural Considerations

Software vendors have taken significantly different approaches in their attempts to integrate Web technology and the application development and deployment architecture. Regardless of the approach, it is clear that in order to reap the full benefits of platform independence, instant global access, and low deployment costs, an application's underlying technology must be optimized for the Web platform. This section explores the different architectural approaches taken by tools for building Web/data applications and the advantages and disadvantages inherent in these approaches. The approaches examined are:

Two-tier applications, using:

  • Microsoft Windows clients
  • Web browser plug-ins
  • Java clients

Three-tier applications, using:

  • CGI-based executables
  • Web server in conjunction with application server

Two-Tier Applications

Two-tier applications connect directly from the client Web browser to the database. They bypass the Web server and instead use the Internet simply as the communications backbone. The simplicity and uniqueness of the HTML page are not leveraged. Examples of this approach are:

  • Microsoft Windows client applications

    These two-tier applications are client/server applications that make use of the Internet rather than the LAN as the communications backbone. The applications maintain the same Windows graphical user interface and are simply downloaded over the Web for execution on the user's machine. The resources required for a traditional client/server application are identical.

  • Browser Plug-In applications

    Netscape introduced the concept of the Web browser plug-in as a means of allowing existing applications to run within an HTML page. A client-side runtime component is installed on the Web browser. Applications using that runtime are then downloaded each time they are required by the user. The application will require the same amount of resources if it were running as a Windows-based application.

  • Java client applications

    Client-side Java applets can be implemented to interface directly with databases using protocols like JDBC. In this approach, the Web server sends the Java applet to the client. The client-side applet then initiates a connection directly to the database, bypassing the Web server.

The first two approaches (Windows clients and browser plug-ins) are typical of most client/server tools vendors who have introduced Web products. However, because these vendors are not significantly changing the client/server architecture, the benefits gained from operating over the Web are limited.

The advantage of either approach is that, once the application is installed on the client-side, users can access data from any remote location that has Internet access. The disadvantage is that the client computer configurations must remain homogeneous. Configuring computers to accept the downloaded software remains a problem. The benefit of instantaneous cross-platform access to applications remains elusive.

Disadvantages of all three approaches, including two-tier Java applets, are that the applications are not efficient in their use of database resources and the applications do not scale. The client/server architecture where a user is exclusively logged into the database for an entire session limits the number of Web users.

Three-Tier Applications

Three tier applications make use of a Web and/or application server as a middle tier. The middle tier separates the processing tasks, performing the business logic processing while leaving the browser to generate the data displays. Examples of the three-tier application approach are:

  • CGI-based applications
  • Web server in conjunction with dedicated application server

Three-tier applications, in contrast to two-tier ones, reap the benefits of Web application publishing and distribution. With this architecture, applications reside on the server and can be deployed instantaneously. Through the use of application servers, the three-tier architecture also creates a foundation for scalability.

Early implementations of server-based applications were based on Common Gateway Interface (CGI) executables. Application developers wrote C++ code or PERL scripts and placed them in the CGI directory. When a user requests a page with data, the Web server runs the relevant CGI executable or script. It starts a new CGI process, opens a connection to the data source, passes the request (typically in SQL), receives the data, closes the data connection and shuts down the CGI process. This cycle occurs each time a new request is received. The overhead involved in starting and stopping the CGI process corresponds directly with the size of the executable. It is also clear to see that substantial overhead is incurred with the opening and closing of a connection to the database with each request. A more optimal solution would require cached application code as well as cached connections.

Application Servers for the Web

The application server provides high speed and scalable three-tier architecture for Web-centric applications. This implementation, whereby the Web server communicates with an 'in-memory' application server, eliminates the overhead of starting and stopping CGI processes and the opening and closing of database connections. The application server negates the burden of restarting CGI processes by providing an optimized CGI interface or a direct interface to Web server APIs (e.g. NSAPI or ISAPI). Applications are cached in memory. There is no need to start and stop individual processes each time a request is to be fulfilled. The application server can also optimize data source connections by caching database connections. Multiple users with identical user privileges can utilize the same cached database connection. A new login or request does not necessitate a new database connection.

Application servers with distributed architectures can also be scaled easily. A distributed server is critical for Web applications with uncertain numbers of users that can increase exponentially overnight. Scalability should be as simple as adding more CPUs to a system. Developers should not need to perform custom coding to handle an increase in the number of Web application users.

Building the Ideal Web/Data Application

Implementing a Web-centric solution is not a trivial task. Nor is the implementation process one of shoe-horning existing technology to fit a new role. The full benefits of the Web can only be obtained by an architecture that has been optimized for the Web platform. Alternative architectures provide some benefits, but do not provide others. The chart below summarizes the major differences between the approaches discussed in this section:

Web native 3-tier 3-tier client/server 2-tier client/server Java 2-tier
Instantaneous, heterogeneous Web application publishing Yes No No Yes
Scalability Yes Yes No No


Enterprise Considerations

The Web-centric enterprise is one that takes full advantage of the Web and leverages existing core applications at the same time. Corporations today have invested significant time and money to implement fundamental business activities like enterprise resources planning, human resources and supply chain management. Taking the enterprise to the Web does not necessitate the termination of existing application implementations. In fact, Web-centric enterprises should require that their Web/data solutions leverage their existing applications, not dismiss them.

Many businesses have built their human resource administration systems on applications from PeopleSoft. Others have implemented SAP's financial accounting or plant maintenance applications. In their traditional environments, these systems required dedicated client computers. Computers had hefty requirements. Installation and maintenance of these systems on the client computers were significant undertakings. Applications were limited to the existing LAN infrastructure. Transforming these applications for the Web is a natural and obvious step. Web/data development tools must enable this Web-centric transformation, allowing developers to Web-enable these core enterprise applications and at the same time re-use the existing business logic already developed for these systems.

Language Considerations

Architectural benefits provided by Web/data tools are also significantly affected by the type of language on which they are based. Like successful client/server tools, successful Web/data development tools must provide the flexibility and extensibility required to build enterprise-scale applications. Languages that have emerged for Web/data applications include Java, Visual Basic (or a licensed variant), C++ and JavaScript. Additionally, client/server vendors have continued to use their proprietary scripting languages as the language underlying their Web application development.

The following chart highlights some of the differences in the various languages used on the Web.

Java Visual Basic C++ Script
Secure Yes No No No
Platform independent Yes No No Dependent on browser type
Object oriented Yes No Yes Pseudo
Automatic garbage collection Yes No No No
Built-in threads Yes No No Yes

Like the ideal Web/data tool, the ideal Web language should be one that was architected for the Web. It should be portable across the many platforms that support Web browsers. In fact, it should be browser independent. Furthermore, it must be secure, especially for applications that run over the Internet. And it must be an object-oriented programming language so that developers can re-use existing code. It must, like its tool, be Web-centric. Java has emerged as the likely winner in the succession of languages on the Web. It builds upon the benefits of existing OOP languages like C++, removes unnecessary complexity like pointers and memory allocation, and introduces security and portability features that are important for the Web.

Delivering Web-centric Solutions with NetDynamics

NetDynamics, Inc's flagship and namesake product, NetDynamics, is the solution for companies looking to build Web-centric enterprises. This integrated development environment and application server system is architected from the ground up for the Web. It takes the lessons learned from client/server implementations with regards to easy, rapid but extensible development cycles. NetDynamics addresses the unique Web issues of scalability, state and session maintenance, security and technology changes. The application server architecture delivers a Web-native three-tier architecture that meets the scalability and performance demands of ever increasing numbers of users. To Web-enable existing core enterprise applications, NetDynamics includes the WebEXTEND product family. WebEXTEND technology allows developers working within a familiar visual development environment to build browser-based applications that access existing business logic on applications from PeopleSoft, SAP and others.


The NetDynamics Studio Development Environment

The NetDynamics Studio development tool provides an integrated, Java-based, point-and-click environment to develop Web/data applications rapidly.

Rapid Application Development

The NetDynamics Studio visual development environment automates the process of building Web/data applications through Wizards that generate the application framework. These Wizards generate everything from default HTML pages and tables to data-driven objects like text fields, list boxes, radio buttons, etc. The Wizards also perform automatic formatting and validation of data. Developers can set default formats or parse input entries based on regular expressions.

NetDynamics also automatically generates Data Objects, objects that incorporate SQL statements for accessing databases. These Data Objects can perform all forms of SQL actions, from queries to updates to stored procedure access. The automatically generated SQL can be enhanced to include dynamic criteria that is appended to the SQL statement based on a user's individual responses.

Tight Language Integration with Java

NetDynamics is tightly integrated with Java. Java is the underlying object-oriented development language of NetDynamics. In addition to generating Java code automatically during the Wizards-based development process, NetDynamics also provides built-in Java classes. Over 250 classes and 2,000 methods are available for developers who wish to create custom business logic for manipulating data access, interfacing with input and output data displays, managing user sessions and state, and controlling and authenticating user privileges. NetDynamics developers can also access existing application code by incorporating functionality within a Java-based NetDynamics application with external Java or C++ classes.

Open, Portable Integration

NetDynamics is based on an open architecture that allows developers to integrate any database, HTML editor, Web server, Web browser display (HTML, Java, JavaScript, ActiveX), and any Web browser across multiple platforms. For example, Developers can edit NetDynamics generated HTML pages within Microsoft FrontPage, then test the application on a Netscape Navigator browser. With built-in access to the Microsoft ActiveX Control Pad, developers can easily attach ActiveX controls to a NetDynamics page. The same can be achieved with Java applets. NetDynamics is designed to be used across a heterogeneous computing environment.

NetDynamics applications are completely portable. NetDynamics generates only portable Java bytecode, HTML templates and ASCII-based parameter files. Moving an application from one operating system to another is a simple process of transferring the files ( using Copy or FTP). No recompilation or code re-writing is required.

Security

NetDynamics leverages standard Web security mechanisms like Internet firewalls, Web servers and database servers. Companies who have implemented environments with firewalls and secure transmission protocols like Secure Sockets Layer (SSL) or RSA-based encryption will find that NetDynamics works seamlessly without modification. NetDynamics also provides built-in security on an application level, enforcing a security bridge between the Web server and database server. Developers can control the login process from Web server to application server to database server, even managing multiple users with single database logins. The table below describes some of the authentication and security options available with NetDynamics:

Mechanism Provider Process
User authentication Web server The Web server authenticates the user and passes the WebID to NetDynamics.
Navigation flow control NetDynamics Developers define navigation control within the NetDynamics application. They enforce application entrance points and prevent users from navigating through the application except through defined paths. For example, users will be unable to bookmark pag es to bypass the initial login screen.
User authorization NetDynamics Developers define user privileges (query, insert, update, etc.) on a page-by-page basis. Users cannot execute procedures for which they are not authorized by developers.
Database access authorization NetDynamics Before sending the data request to the database, NetDynamics maps the WebID to the database login. Multiple users with distinct WebIDs will be able to use a single database login ID. This approach minimizes the number of individual database logins req uired. The WebID to database ID mapping takes place through a secure table lookup or through a developer-defined Java procedure.
Database security Database Server The database server provides standard database security. NetDynamics logs into the database server using the proper method prescribed by the database vendor.

In addition to NetDynamics-based security mechanisms, NetDynamics also partners with a key security vendor to provide a single authenticated login that is propagated from Web browser all the way to the database server. The integration of NetDynamics with Gradient Technologies' WebCrusader security architecture allows developers to manage Access Control Lists (ACLs) that describe the access levels, priorities and access times of individual users. NetDynamics uses the ACL to determine the proper level of accessibility within the NetDynamics application.

Session and State Management

In traditional client/server applications, a user's application session begins when the user logs on to the application (and consequently the associated database), and ends when the user logs off. The stateless nature of the Web server does not allow a similar handling of sessions. Each session on a Web server is limited to the length of time it takes to process a request for an HTML page. Once the HTML page is returned to the user's browser, that session is terminated. To maintain session information, developers have turned to browser-dependent 'cookies,' for example. Others have written their own CGI-based mechanisms for maintaining state information.

NetDynamics solves the problem by providing built-in, developer-definable session and state management. The Persistence Engine (PE), part of the NetDynamics application server, stores all relevant information about a user. Everything from the WebID to the exact table row the user is currently viewing can be maintained in the PE. A user session is automatically initiated for each browser upon the user accessing the first page of the application. The session terminates on a developer-defined timeout, or on a specific application termination event such as a button that reads "Exit application". When the session is terminated, the server stops holding the session information for that user.

NetDynamics maintains state information on both the server and on the client page. Application state information is maintained by the application server, and local state information is maintained on the page. NetDynamics provides manipulatable state objec ts for both server and page state information. On an application level, NetDynamics automatically maintains the user's database login and password, and page privileges. Developers can define server-based applications objects that maintain their state even as users browse through many pages of an application. An example of such an application object is an object that maintains state information on the content of a user's shopping cart.

On a page level, NetDynamics automatically generates a session ID for each page. The ID, which is generated for each application session, is encrypted and changes from page to page. The session ID enforces secure access to data by preventing users from moving to pages for which they are not authorized. The ID also contains information about database cursor position in order to accurately handle future data record retrievals. Take for example a user who is browsing through an application that displays five rows of data on a page at a time. The user is currently looking at the page that displays items one through five. Because NetDynamics maintains database cursor position, the user can click on the Next button and retrieve the next page will display rows 6 through 10. This is true regardless of whether the user arrived at the first page through initial entry into the application, or whether the user proceeded further into the application and then clicked on Back in the Web browser to return to the page displaying items 1 to 5. This handling of browser and application server interaction through the use of the intelligent Persistence Engine is all automatic with NetDynamics.

Transaction Management

NetDynamics manages transactions through the Data Server interface, part of the NetDynamics application server. NetDynamics provides built-in support for auto-commit and rollback on SQL actions. NetDynamics also supports developer-controlled transaction b locks that include:

  • start transaction before executing SQL
  • rollback upon failures
  • commit upon success


The NetDynamics Application Server

The NetDynamics application server delivers the high processing speed and scalability required by commercial applications. The server is based on a distributed architecture that provides automatic load balancing. As usage of an enterprise-scale NetDynamics application grows, the system administrator simply adds more CPUs (or individual machines) to the NetDynamics application server system. The application server manager can then funnel the increased incoming requests to the new CPUs. No custom coding whatsoever is required.

Architecture Overview

The following is a schematic of the NetDynamics application server.

(Figure 1: NetDynamics Application Server Architecture)

Application requests flow through the NetDynamics application server in the following manner:

  1. The Web server passes a browser's HTTP request to the NetDynamics server through a lightweight CGI 'stub' (approximately 16kb), a Netscape Server API (NSAPI)-based dynamic link library (DLL), or through a Microsoft ISAPI DLL.

  2. The application server request broker (RB) receives the request. The request broker oversees one or more Connection Processors (CP) within the application server system. It finds an available Connection Processor and sends it the request for processing. Each CP incorporates a Java Virtual Machine (JVM) and can execute the necessary Java code.

  3. When a data source request is made, the request is sent to the Data Server request broker. The Data Server request broker manages one or more Data Servers.

  4. The Data Server request broker looks for an available Data Server that is already connected to the requested database with the same user ID and password. When a free Data Server with the matching connection is found, the request broker sends the request to the Data Server. If no matching one is found, the Data Server will initiate a new connection to the data source.

  5. After the connection is made, the Data Server sends the request to the data source. When it receives the response, typically in the form of a data set, the Data Server sends the results back to the CP that invoked it.

  6. The CP completes processing of the request and generates the dynamic HTML page that will be sent back to the Web server.

  7. The Web server then serves the page to the Web browser for display.

    Optimized Data Access

    As discussed earlier, CGI-based executables are an inefficient means of providing data access. With CGI executables, each time a user requests a page with data, the Web server starts a new CGI process, connects to the data source, receives data, closes the connection and shuts down the CGI executable. The larger the CGI executable (and they can range from several kb to several Mb), the greater the overhead and the slower the performance. Likewise, performance overhead is also incurred in the opening and closing of the data source connection.

    NetDynamics' optimized interface with the Web server and database server eliminates this overhead. The application server, which is always resident in memory, caches applications. Users requesting the application do not incur the cost of starting and stopping the application. NetDynamics also eliminates the overhead involved in opening and closing the database. Each Data Server maintains one or more cached connections to the data source or sources. Consequently, requests for data can be made to the data source without incurring the overhead of opening and closing the connection.

    Scalablility & Automatic Load Balancing

    The NetDynamics application server is based on a distributed architecture that allows it to be easily scaled across multiple hardware systems. System administrators can increase processing by adding more CPUs to a multi-processor machine or networking individual machines together. Within each machine, the system administrator can also allocate the number of running CPs and DSs for optimal performance. This distributed architecture enables the system administrator to partition the application by placing each set of processes on different systems. The NetDynamics application server system's request brokers continue to balance request loads across this networked, multi-CPU environment.

    Availability

    The NetDynamics server integrates built-in system monitors to provide availability. The monitors check running CPs and DSs and will automatically shut down and restart abruptly terminated processes. NetDynamics delivers the reliability and self-running capabilities required for an enterprise-scale application.

    WebEXTEND

    Companies looking to extend their enterprise to the Web must leverage their existing core applications in order to be successful. However, a significant amount of time and money have already been invested in these traditional client/server applications. To recreate them for the Web would be inefficient and expensive.

    Recognizing the need and theolved, NetDynamics introduces WebEXTEND, application interfacing technology that leverages existing business logic. WebEXTEND allows NetDynamics application developers to access PeopleSoft, SAP or CICS applications from within the NetDynamics Studio development environment. Developers create Web-based displays that access existing application logic. The developer does not re-write the application. Instead he creates a new interface - a Web-centric one - to a familiar application. The WebEXTEND technology interfaces the application through their native APIs (e.g. Message Agent with PeopleSoft and BAPI for SAP R/3). Developers work with the business logic in these applications and can extend them by adding their own custom logic within the NetDynamics development system. As a result, users now have the benefit of accessing these applications from any Web browser, on any platform, any where in the world. Furthermore, the capabilities of the application are extended with the addition of new NetDynamics business logic. With WebEXTEND, current technology investments are leveraged for a new medium - the Web.


Summary

The technology architecture companies select will significantly impact the benefits they gain by using the Web as an application development and distribution infrastructure. Companies looking to establish a Web-centric business model, where the Web plays a critical role in the success and competitive advantage of the business, must adopt a Web-centric computing model. The Web-centric solution must first and foremost address the unique issues of the Web, everything from state management to server security. A successful Web-centric enterprise must look at leveraging its existing core applications while delivering new applications that are Web-native. Application scalability is very important. As the enterprise grows globally, the application must grow accordingly. A scalable application server is required. Furthermore, as the user community increases, so does the need for modifications to existing applications. Application extensibility must be easy and maintainable. A suitable language must be selected, ideally one that is open, extensible and an industry-accepted standard. NetDynamics delivers the capabilities companies need to build their presence on the Web. Only NetDynamics provides Web-native technology, enterprise extensibility, scalability and openness in a total, integrated package. NetDynamics is the solution to enable corporations to implement a strategic enterprise Web-centric computing model and therefore drive a successful Web-centric business model.


NetDynamics, Inc.
185 Constitution Drive
Menlo Park CA 94025
United States
http://www.netdynamics.com
info@netdynamics.com
Phone: 415-462-7600
Fax: 415-617-5920

Text, graphics, and programming are copyright © 1996 by NetDynamics, Inc.
"NetDynamics" and "WebEXTEND" are trademarks of NetDynamics, Inc.